package com.yuan.mall1.controller.config;

import com.lly835.bestpay.config.AliPayConfig;
import com.lly835.bestpay.config.WxPayConfig;
import com.lly835.bestpay.service.BestPayService;
import com.lly835.bestpay.service.impl.BestPayServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Component;

@Component
public class BestPayConfig {
    @Autowired
    private WxAccountConfig wxAccountConfig;
    @Autowired
    private AlipayAccountConfig alipayAccountConfig;
    @Bean
    public BestPayService bestPayService(WxPayConfig wxPayConfig) {
        //        连接账户
        //阿里支付 支付宝支付
        AliPayConfig aliPayConfig = new AliPayConfig();
        aliPayConfig.setAppId(alipayAccountConfig.getAppId());
        aliPayConfig.setPrivateKey(alipayAccountConfig.getPrivateKey());
        aliPayConfig.setAliPayPublicKey(alipayAccountConfig.getPublicKey());
        aliPayConfig.setNotifyUrl(alipayAccountConfig.getNotifyUrl());//异步通知地址
        aliPayConfig.setReturnUrl(alipayAccountConfig.getReturnUrl()); //页面返回跳转的地址
        //支付类, 所有方法都在这个类里

        BestPayServiceImpl bestPayService = new BestPayServiceImpl();
        bestPayService.setWxPayConfig(wxPayConfig);
        bestPayService.setAliPayConfig(aliPayConfig);
        return bestPayService;

    }
    @Bean
    public WxPayConfig wxPayConfig(){
        WxPayConfig wxPayConfig = new WxPayConfig();
        wxPayConfig.setAppId(wxAccountConfig.getAppId());//公众号appid
        wxPayConfig.setMchId(wxAccountConfig.getMchId()); //商户号
        wxPayConfig.setMchKey(wxAccountConfig.getMchKey()); //商户秘钥、
        //192.168.50.101 同一局域网可访问
        //125.121.56.227 云服务器可行，家庭宽带不行（路由器、光猫）
        wxPayConfig.setNotifyUrl(wxAccountConfig.getNotifyUrl());//接受平台异步通知的地址
        wxPayConfig.setReturnUrl(wxAccountConfig.getReturnUrl());
        return wxPayConfig;
    }

}
